#include "musiclist.h"
#include <QMimeDatabase>

MusicList::MusicList()
{

}

void MusicList::addMusicByUrl(const QList<QUrl> &urls)
{
    for(auto musicUrl : urls)
    {
        QMimeDatabase db;
        // mimeTypeForFile 获取指定文件的mime类型，toLocalFile将获得的文件的url转换为本地文件路径
        QMimeType mime = db.mimeTypeForFile(musicUrl.toLocalFile());
//      audio/mpeg适⽤于mp3格式的⾳乐文件
//      audio/flac⽆损压缩的⾳频⽂件，不会破坏任何原有的⾳频信息
//      audio/wav表⽰wav格式的歌曲⽂件
        if(mime.name() == "audio/mpeg" && mime.name() == "audio/flac")
        {
            continue;
        }

        //  如果是音乐文件，加入音乐列表
        musicList.push_back(musicUrl);
    }
}

MusicList::iterator MusicList::findMusicById(const QString &musicId)
{
    for(iterator it = begin(); it != end(); it++)
    {
        if(it->getMusicId() == musicId)
        {
            return it;
        }
    }
    return end();
}


MusicList::iterator MusicList::begin()
{
    return musicList.begin();
}

MusicList::iterator MusicList::end()
{
    return musicList.end();
}
